---@meta

---3D坐标
---@class Vector3
---@field x number
---@field y number
---@field z number

---3D坐标
---@class Vector2
---@field x number
---@field y number

---颜色
---@class Color
---@field r number
---@field g number
---@field b number
---@field a number

---对象or指针
---@alias Object integer

---角色基类
---@alias Character Object

---Aoc基础单位类
---@alias BaseCharacter Character

---获取对象指针数组
---@param class Object 类指针
---@return Object[] #对象指针数组
function GetAllActorsOfClass(class) end

---查找对象类
---@param className string 类名路径
---@return Object #对象类指针
function FindObject(className) end

---查找偏移
---@param className string 类名路径
---@param offsetName string 偏移名
---@return integer #偏移量
function FindOffset(className, offsetName) end

---获取本地对象
---@param actorPtr Object 对象指针
---@return Object #对象类指针
function GetAcknowledgedPawn(actorPtr) end

---获取对象位置
---@param actorPtr Object 对象指针
---@return Vector3 #世界坐标
function GetActorLocation(actorPtr) end

---获取坐标间距
---@param la Vector3 对象A位置
---@param lb Vector3 对象B位置
---@return number #距离
function GetDistance(la, lb) end

---获取对象名
---@param actorPtr Object 对象指针
---@return string #对象名
function GetActorName(actorPtr) end

---获取对象全名
---@param actorPtr Object 对象指针
---@return string #对象名
function GetActorFullName(actorPtr) end

---将3D坐标转换为2D屏幕坐标
---@param location Vector3 世界坐标
---@param screen Vector2 屏幕坐标
---@return boolean #是否在屏幕内
function WorldToScreen(location, screen) end

---绘制文本
---@param x number 屏幕坐标x
---@param y number 屏幕坐标y
---@param fontSize number 字体大小
---@param color Color 颜色
---@param text string 文本内容
function Draw_Text(x, y, fontSize, color, text) end

---读取布尔值
---@param addr integer 地址
---@return boolean
function ReadBool(addr) end

---读取8位整数
---@param addr integer 地址
---@return integer
function ReadInt8(addr) end

---读取32位整数
---@param addr integer 地址
---@return integer
function ReadInt32(addr) end

---读取64位整数
---@param addr integer 地址
---@return integer
function ReadInt64(addr) end

---读取浮点数
---@param addr integer 地址
---@return number
function ReadFloat(addr) end

---读取双浮点数
---@param addr integer 地址
---@return number
function ReadDouble(addr) end

---读取FName并转为字符串
---@param addr integer 地址
---@return string
function ReadFNameToString(addr) end

---监视热键
---@param vk integer 键代码
---@return integer
function GetAsyncKeyState(vk) end

---读取采集单位名称
---@param addr integer 地址
---@return string
function GetGatherableActorName(addr) end